An improved poor and rich optimization algorithm

The poor and rich optimization algorithm (PRO) is a new bio-inspired meta-heuristic algorithm based on the behavior of the poor and the rich. PRO suffers from low convergence speed and premature convergence, and easily traps in the local optimum, when solving very complex function optimization problems. To overcome these limitations, this study proposes an improved poor and rich optimization (IPRO) algorithm. First, to meet the requirements of convergence speed and swarm diversity requirements across different evolutionary stages of the algorithm, the population is dynamically divided into the poor and rich sub-population. Second, for the rich sub-population, this study designs a novel individual updating mechanism that learns from the evolution information of the global optimum individual and that of the poor sub-population simultaneously, to further accelerate convergence speed and minimize swarm diversity loss. Third, for the poor sub-population, this study designs a novel individual updating mechanism that improves some evolution information by learning alternately from the rich and Gauss distribution, gradually improves evolutionary genes, and maintains swarm diversity. The IPRO is then compared with four state-of-the-art swarm evolutionary algorithms with various characteristics on the CEC 2013 test suite. Experimental results demonstrate the competitive advantages of IPRO in convergence precision and speed when solving function optimization problems.

To further improve the performance of various swarm intelligence evolutionary algorithms, scholars have proposed many improved evolutionary algorithms. For instance, Wei Sun et al.
proposed an improved particle swarm optimization algorithm based on an all-dimensionneighborhood-based PSO with the randomly selected neighbors learning strategy (AND-RSN-PSO) [48]. At the early stage of PSO, they adopted the randomly selected neighbors (RSN) learning strategy to enhance swarm diversity, whereas at the later stage, they used the all-dimension neighborhood (ADN) strategy to accelerate the convergence rate. Meng Wang et al. proposed a modified sine cosine algorithm (MSCA) [49], which introduces linear searching path and empirical parameter to improve the search path of original SCA. Deng xianli et al. proposed a multi-population based self-adaptive migration PSO (MSMPSO) [50], which integrates the two common neighbor typologies into particle's social-learning part. Mahmoud M. Saafan et al. proposed a hybrid improved whale optimization salp swarm algorithm (IWOSSA) [51], which combines improved whale optimization algorithm and salp swarm algorithm. Yaping xiao et al. designed a variety of efficient update operators and redesigned the update strategies of branches, and proposed an improved artificial tree algorithm with two populations (IATTP) [52]. Rehab ali Ibrahim et al. proposed an improved version of the gray wolf optimizer, named chaotic opposition-based Grey-Wolf optimization algorithm based on differential evolution and disruption optimization (COGWO2D) [53]. Seyed Mostafa Bozorgi et al. proposed an improved whale optimization algorithm (REWOA), which combines exploitation of WOA with exploration of DE and therefore provides a promising candidate solution [54]. Omid Trakhaneh et al. proposed an improved differential evolution algorithm using Archimedean Spiral and neighborhood search based mutation approach (ADENS) [55]. Emine Bas et al. added two new techniques to the original social spider algorithm to propose an improved social spider algorithm (ISSA) [56].
Among the above swarm intelligence algorithms, the poor and rich optimization algorithm (PRO) was recently proposed by V.K. Bardsiri et al., by taking inspiration from the behavior of the poor and the rich in acquiring wealth to improve their economic conditions. Many experiments have confirmed that PRO has significantly better optimization performance than PSO, ABC, and SCA, etc. It suggests that PRO also shows excellent application potential in various engineering fields. Unfortunately, similar to other swarm intelligence evolutionary algorithms, PRO demonstrates low convergence speed and precision when solving very complex optimization problems, and no study thus far has attempted to improve the performance. To improve the effectiveness of PRO in engineering application, this study designs an improved PRO (IPRO) algorithm. The strong motivation and main contributions of this paper are as follows. First, the population is divided into the poor and rich sub-population dynamically to replace the original fixed allocation model, in order to meet the convergence speed and population diversity requirements across different evolutionary stages. Second, a novel individual updating method for the rich is proposed to further accelerate the convergence speed and prevent excessive losses in population diversity. In this method, the rich learn from the poor and the top best individuals, and the gradually increases proportion of learning from the poor as the iteration progresses. Third, a novel individual updating method for the poor is designed to obtain reliable evolutionary information and maintain population diversity. Here, a new poor is obtain by retaining itself and a offspring individual according to some cross probability, where a offspring individual is obtained by the alternating updating model of Gaussian mutation and learning from the rich individuals. Results from the CEC2013 test suite show that the IPRO significantly outperforms four state-of-the-art optimization algorithms in terms of convergence precision and speed when solving function optimization problems.
The rest structure of this paper is organized as follows: Section 2 introduces the preliminaries, including the related introduction of optimization approaches and terminology, and the principle of the original PRO algorithm; Section 3 describes the innovation, the principle, procedures, and detailed operations of our proposed IPRO algorithm; in section 4, The proposed algorithm is tested and the results are analyzed. Finally, summarize the full paper.

Terminology
The unconstrained optimization problem can be represented mathematically as where X is a vector that represents an independent variable set, and F represents the objective function to be optimized.
It is noted that, this paper only researches on employing the swarm intelligence optimization algorithms to solve the above unconstrained optimization problem. The following terminology will be used in this paper.
Chromosome: Chromosomes can also be called individuals. A certain number of individuals form a population, and the number of individuals in the population is called population size.
Gene: Genes are elements in a string. Genes are used to represent individual characteristics. For example, if there is a string S = 1 0 1 1, the four elements 1, 0, 1 and 1 are called genes respectively. Their values are called alleles.
Gene locus: Gene locus represents the position of a gene in the string in the algorithm, which is also called gene position. The gene position is calculated from the left to the right of the string. For example, in a string S = 1 0 1 1, the gene position of 0 is 3.
Fitness: The degree of adaption of each individual to the environment is called fitness. In order to reflect the adaptability of chromosomes, a function that can measure each chromosome in the problem is introduced, which is called fitness function.

Poor and rich optimization algorithm
According to their wealth, people in society can be divided into the poor and the rich, and these two groups try to improve their economic situations in different ways. V.K. Bardsiri et al. simulating such behavior in 2019 to design the poor and rich optimization algorithm (PRO) [32]. In this algorithm, people are equivalent to individuals, and their economic status is equivalent to their fitness values. The poor improves its economic situation by narrowing its economic gap with the rich, whereas the rich increases its economic advantage by increasing its economic gap with the poor. The economic status of the entire population can be improved effectively by improving both the poor and the rich.
The pseudo code of PRO is shown in Algorithm 1. The detailed procedure of the original PRO algorithm is described as follows. First, initialize various parameters including N, D, U, L, T, and Pmut. Where N represents the number of individuals, D represents the dimension of the optimization problem, U and L denote the upper and lower limits of the search range respectively, T denotes the maximum number of iterations, and Pmut denotes the mutation probability. Afterwards, randomly generate the initial population X, and calculate the fitness value of each individual X(i). Second, the population X is divided into two subpopulation according to fitness value as follows. The half of the individuals with better fitness value in X consist of the rich sub-population X_rich, and the others in X consist of the poor sub-population X_poor. Third, update each individuals of X_rich according to Eq (2) to form an new rich population X_rich new . Then update X_rich new according to the following mutation operation. For each individual X_rich new (i), generate a random number (i.e. rand). If rand is smaller than Pmut, then X_rich new (i) will be replaced by X_rich new (i) which adds a value of a normal distribution with average of 0 and variance of 1. Afterwards, compare X_rich new (i) with X(i) as follows. If X_rich new (i) is better than X(i), then X(i) will be replaced by X_rich new (i). Fourth, update each individuals of X_poor according to Eq (3) to form the new rich population X_poor new . Then update X_poor new according to the following mutation operation. Fifth, combine X_rich new and X_poor to form X, and find the best individual of X. If the number of iteration reaches the maximum number of iteration, then the algorithm terminates. Otherwise, go to the second step for another round of iteration.
Algorithm 1 PRO While t< = T do 06 The population X is divided into two subpopulation according to fitness value, including the rich population X_rich and the poor population X_poor 07 X_rich where X_rich new (i) and X_rich old (i) represent the i-th new individual and the i-th individual in the new rich sub-population and original rich sub-population, respectively, r is a random number between 0 and 1, and X_poor old (best) is the individual with the best fitness value in the poor sub-population.

Individual updating method for the poor.
Each individual in the poor sub-population is updated as X poor new ðiÞ ¼ X poor old ðiÞ þ ðr � Pattern À X poor old ðiÞÞ ð3Þ where X_poor old (i) and X_poor new (i) represent the i-th new individual and i-th individual in the new and original poor sub-population, respectively, Pattern is calculated as where X_rich old (best), X_rich old (worst) and X_rich old (mean) represent the individual with the best fitness value, the individual with the worst fitness value, and the mean of all individuals in the rich sub-population, respectively.

Proposed algorithm
Reference [32] confirmed in their experiments that PRO can obtain the optimum solution for less complex function optimization problems. Unfortunately, for the highly complex optimization problems, PRO has slow convergence speed and easily falls into local optimal. To address these issues, this paper designs an improved poor and rich (IPRO)algorithm, whose pseudo code is presented in Algorithm 2.
x best best(X) // assign current best 12 update FEs 13 End While 14 return x best and its fitness value f(x best ) The detailed step-by-step procedure for Algorithm 2 is described as follows: Step 1: Initialize various parameters including N, D, U, L, MaxFEs, and Pmut. The parameters N, D, U, L, and Pmut are similar to those used in Algorithm 1, whereas MaxFes denotes the maximum number of function evaluations.
Step 2: Randomly generate the initial population X, and calculate the fitness value of each individual in X.
Step 3: Determine the size of the rich sub-population X_rich and the poor sub-population X_poor according to Eq (5) (i.e. |X_rich| = z and |X_poor| = N-z). Select the top z best individuals of X to form X_rich, and the others in X consist of X_poor. Further details are presented in Section 3.1.
Step 4: Apply the individual updating method on X_rich and X_poor as described in Step 5: Perform the mutation operation on X new according to the following method. For each individual X new (i), generate a random number (i.e. rand). If rand is smaller than Pmut, then X new (i, j) will be replaced by X new (i, j), which adds a value of normal distribution with an average of 0 and variance of 1. Afterward, compare X new (i) with X(i) as follows. If X new (i) is better than X(i), then X(i) will be replaced by X new (i). Thus, the population X will be updated. It is worth noting that the evaluations only need be operated in this step.
Step 6: Find the best individual of X, i.e., x best .
Step 7: Use the maximum number of function evaluations (MaxFEs) as the terminal condition. If the number of function evaluations (FEs) is larger than MaxFEs, then the algorithm terminates. Otherwise, go to Step 2 for another round of iteration.

Sub-population division method
In PRO, the whole population is divided into the poor and the rich sub-populations, where the former comprises the half of those individuals having the worse fitness values in the entire population. The poor has a slower convergence speed than the rich, but they can help the latter explore more new solutions and quickly move to the optimum solution, by providing abundant evolutionary information. In sum, the poor sub-population focuses on maintaining population diversity, whereas the rich sub-population is mainly responsible for search and exploration. Generally, each evolutionary stages has different requirements for algorithm performance. At the initial stage, evolution algorithms usually are expected to quickly move to the region belonging to the optimal solution, given the favorable swarm diversity. Along with the evolution processing, the difference in the fitness values between individuals continuously decreases, that is, these individuals become increasingly similar, thereby, gradually reducing population diversity. In this case, the IPRO algorithm can increase population diversity to escape the local optimum. To allow this algorithm, to satisfy the requirements of different evolutionary stages, at the initial stage of evolution, the size of the poor sub-population should be appropriately reduced and that of the rich sub-population should be expanded. Meanwhile, at the final stage of evolution, the size of the poor subpopulation should be expanded, whereas that of the poor sub-population should be reduced.
From the aforementioned ideas, this section proposes the following dynamic division method. In each iteration, the individuals of the offspring population are sorted in a descending order based on their fitness values for the minimum optimization problems. Those individuals with z smaller fitness values moved to the rich sub-population, where z is calculated by Eq (5), whereas the other individuals (N-Z) moved to the rich sub-population.
where b c represents round off, Z represents the size of the rich sub-population (the size of the poor sub-population should be N-Z), t and T represent the current and maximum number of iterations, z max and z min represent the minimum and maximum sizes of the rich subpopulation, respectively. When z max and z min are set to 0.6N and 0.4N, respectively, PRO can obtain satisfactory results.

Improved individual updating mechanism for the rich
Eq (2) shows that each rich individual in the PRO algorithm is improved in the following way. The rich sub-population increases its difference from the poor sub-population by learning from the individual in the poor population with the best fitness values. Unfortunately, experiments suggest that the above individual updating mechanism for the rich has a slow convergence speed and can easily fall in the local optimum for two reasons. First, all individuals in the rich sub-population learn from the same individual in the poor sub-population. Despite being the best in its subpopulation, the evolutionary information of this individual is not the best in the current population. Obviously, those individuals in the rich sub-population have low probability of searching for better solutions, which would slow down the convergence speed to some extent. Second, given that all individuals in the rich sub-population learn from the same individual in the poor subpopulation, they become increasingly similar to each other, which in turn increases the possibility of the PRO algorithm to fall in the local optimum. Moreover, if the optimal individual in the poor sub-population remains unchanged after many iterations, the rich sub-population will converge extremely slowly. The PRO algorithm cannot easily escape the local optimum in this case.
Given that the excellent individuals in the rich sub-population carry the best evolutionary information of the current population, the other members of the same sub-population can converge quickly by learning from these excellent individuals. To further accelerate the convergence speed and maintain population diversity, the rich should learn from both the poor and the better individuals in its own sub-population. Given that the PRO algorithm has different requirements for convergence speed and population diversity at different stages of iterations, at the initial stage of evolution, the individuals in the rich sub-population should learn more from the excellent individuals in the same sub-population rather than from the poor sub-population, whereas at the final stage of evolution, these individuals should learn more from the poor sub-population. Following the above ideas, this study designs the following individual updating mechanisms for the rich sub-population as Eq (6). X rich new ðiÞ ¼ X rich old ðiÞ þ r1 � ðX rich old ðk1Þ À X rich old ðiÞÞ þo t � r2 � ðX rich old ðiÞ À X poor old ðk2ÞÞ ð6Þ where X_rich old (k1) represents an individual that is randomly selected from the s best individuals in the rich sub-population, generally (a good result can be obtained when s equals 10), X_poor old (k2) represents an individual that is randomly selected from the poor sub-population, r1 and r2 represent a matrix with one row and D columns that composes a random number between 0 and 1, and the parameter ω t controls the learning proportion, and changes adaptively along with the iteration according to Eq (7).
where ω u and ω l are the upper and lower terms of ω t , respectively. A good result can be generally obtained, when ω u and ω l are set to 1 and 0.2, respectively. In sum, this section proposes a novel individuals updating mechanism for the rich sub-population. This mechanism uses the original rich and poor sub-populations as its inputs and generates a new rich sub-population as its output. Each individual in the new rich sub-population is generated as follows. First, an individual is randomly selected from the s best individual in the original rich sub-population. Second, an individual is randomly selected from the original poor sub-population. Third, ω t is calculated using Eq (7). Fourth, an individual in the new rich sub-population is generated using Eq (5). It is worth noting that, all individuals in the new rich sub-population need not be evaluated in.this step.

Improved individual updating mechanism for the poor
As shown in Eq (3), each individual in the poor sub-population learn from the same individual that is calculated by the rich in every generation. As the iterations progress, the genes of individuals in the poor sub-population become increasingly similar to those of individuals in the rich sub-population, thereby reducing population diversity. To escape the local optimum, the poor offers less help to the rich, as they could no longer easily provide other evolutionary information. To reduce the possibility of falling into the local optimum and maintain a fast convergence speed, abundant and excellent evolutionary information must be provided for the rich.
From the above ideas, an improved individual updating mechanism for the poor is proposed as follow. First, the individuals in the poor sub-population perform a Gaussian mutation operation on themselves using Eq (8). Second, after each p iterations, the individuals in the poor sub-population learn from the rich once according to Eq (10). Third, a new individual is generated according to Eq (11).
where the parameter q is calculated as where f(X_poor old (i)) and f(X_poor old (k4)) represent the fitness values of the current individual and the other individuals selected randomly in the poor sub-population, respectively.
X poor new ðiÞ ¼ X poor old ðiÞ þ r � ðX rich old ðk3Þ À X poor old ðiÞÞ ð10Þ where X_rich old (k3) is an individual that is selected randomly from the original rich sub-population, and r is a random number between R1 and R2. A good result is generally obtained, when R1 and R2 are set to 0.2 and 0.8, respectively.
where X_poor new (i) and X_poor old (i) represent the new individual generated by Eqs (8) or (10) and the original individual, respectively, j represents the j-th dimension, and cr is a crossover probability. A good result is generally obtained, when cr is set to 0.4. Algorithm 3 give the pseudo code of the proposed improved individuals updating mechanism for the poor sub-population. It is worth noting that, all new individuals need not be evaluated in this mechanism.
Algorithm 3: the novel improved individuals updating mechanism for the poor subpopulation In sum, our proposed improved individual updating method for the poor sub-population has the following two advantages. On the one hand, the individuals in the poor sub-population learn from the rich every p iterations rather than each iterations, which not only improves the evolutionary information of the poor sub-population to some extent, but also minimizes losses in their own population diversity. Therefore, the poor can provide more excellent evolutionary information to the rich, helping them quickly move to the region of the optimal solution. On the other hand, the poor performs a Gaussian mutation operation in most iterations, which makes them perform a search around themselves. In addition, most of the original evolution information can be retained according to the crossover mechanism shown in Eq (11). These operations further maintain the population diversity. Therefore, despite falling into the local optimum, the PRO algorithm also has an increased possibility of jumping out.

Experimental results and discussions
In this section, the following four experiments were performed to investigate the performance of our proposed IPRO algorithm: (1) sensitivity analysis with the IPRO parameters; (2) Verification the effectiveness of each improved strategy proposed in Sections 3.1 to 3.3; (3) the optimization performance comparison between IPRO and original PRO; (4) performance comparison between IPRO and other superior swarm intelligence algorithms. The above experiments were performed on the CEC2013 test suite, which contains 28 functions. According to their characteristics, these functions can be divided into unimodal (F1-F5), multimodal (F6-F20), and composition functions (F21-F28). Details of the test suite can be found in [32]. The above experiments were carried out on MATLAB 2016.

Sensitivity analysis with the IPRO parameters
Compared with the original PRO algorithm, our proposed IPRO algorithm adds the parameters z min , z max , ω l , ω u , R1, R2, cr, s, and p. A sensitivity analysis was performed to evaluate the influence of these parameters on the performance of the IPRO algorithm. When analyzing the sensitivity of each parameter, only the value of one parameter was changed to ensure that the other parameters remain unchanged. In each experiment, the population size N was set to 100, the problem dimension D was set to 30, the maximum evaluation times MaxFEs was set to 10000×D = 300000, and Pmut was set to 0.06 similar to that in the original PRO algorithm.
1. In the sensitivity analysis with z min and z max , the parameters were set as follows. The IPRO algorithm with the above parameter settings ran independently 30 times on the CEC2013 test suite. Tables 1 and 2 present the average optimal values obtained in each run with the above different parameter settings when the same preset MaxFEs is reached. The last line of these tables presents the number of functions after the algorithm with the corresponding parameter settings achieves the best optimization effect. The IPRO with z min = 0.2 and z max = 0.8 obtained 14 out of 28 functions optimum, the IPRO with z min = 0.3 and z max = 0.7 obtained 12 out of 28 functions optimum, and the IPRO with z min = 0.4 and z max = 0.6 obtained 22 out of 28 functions optimum. In sum, the performance of IPRO is sensitive to z min and z max . Meanwhile, the other data in Tables 1 and 2 show that the performance of IPRO is sensitive to ω l , ω u , cr, and s, and is less sensitive to R1, R2, and p.

Verification of the effectiveness of various improvement measures
To verify the effectiveness of each improvement measure described in Sections 3.1 to 3.3, the following experiments were conducted. First, the PRO algorithm was combined with each of the improved strategies proposed in Sections 3.1 to 3.2, which yielded three new algorithms, namely, an IPRO algorithm based on the dynamic population division method proposed in Section 3.1(PRO1), an IPRO algorithm based on the individual updating mechanism for the rich proposed in Section 3.2(PRO2), and an IPRO algorithm based on the individual updating mechanism for the poor proposed in  Table 3 presents the mean and standard deviation of the optimal values obtained by PRO1, PRO2, PRO3, and PRO on each function in 30 experiments. The data before and after the symbol "±" represents mean and standard deviation respectively. To prove that the results achieved by the above algorithms were not obtained by chance, the results shown in Table 3 were subjected to a Wilcoxon rank sum test. The test results were then used to determine whether significant differences were present (alternative hypothesis) or absent (null hypothesis) among these algorithms at the 0.05 significance level on each optimization function. The Wilcoxon rank sum test was used in this work because of its fewer distributional assumptions compared with other parametric procedures, such as the T-test. Table 4 presents the Wilcoxon rank sum test results. A p-value of less than 0.05 indicates the presence of a significant difference between the IPRO and PRO on the current function; otherwise, it indicates there is no significant difference between IPRO and PRO in the current function. The symbols '+, =, and -' in the last line of Table 4 indicate the number of functions on which the IPRO significantly outperforms the PRO, on which the IPRO has no significant differences from the PRO, and on which the PRO significantly outperforms the IPRO.
Compared with PRO, PRO1 demonstrated the same performance on 26 functions, a significantly better performance on the multimodal function F14 and composition function F20, and a significantly inferior performance on any function. Meanwhile, PRO2 obtains smaller mean values on 27 functions, the same performance on F3, F8 and F16, a significantly better performance on 25 functions, a significantly inferior performance on 6 functions, and a significantly better performance on 18 test functions.
In sum, the strategies proposed in Sections 3.1 to 3.3, greatly influenced the improvements in algorithm accuracy with the strategy proposed in Section 3.2 showing the most obvious improvement effect.

Performance comparison between the IPRO and PRO
To compare the performance of our proposed IPRO and the original PRO, they were tested on 10-and 30-dimensional CEC2013 test suites. To ensure the fairness of comparison, the population size N was set to 100, and the maximum number of evaluations was set to MaxFes = 300000. The other parameters were set following those described in section 4.1. Table 5 presents the results of 30 independent experiments conducted on the 10-and 30-dimensional CEC2013 test suites, where "mean" and "std" indicate the mean and standard deviation, and "p-value (IPRO vs. PRO)" in the fourth and seventh columns indicate the Wilcoxon rank sum test results of the algorithms on the 10-and 30-dimensional functions, respectively. For the 10-dimensional test functions, compared with PRO, our proposed IPRO demonstrated a significantly inferior performance only on 3 functions (F2, F4, and F22), no significant differences on 8 functions (F3, F6, F7, F9, F11, F15, F16, and F27), and a significantly better performance on 17 functions. For the 30-dimensional test functions, our proposed IPRO demonstrated an inferior performance only on F16, a similar on three functions (F3, F8, and F15), and a significantly better performance on the other 24 functions. In sum, compared with the original PRO, our proposed IPRO shows a significant advantage in convergence accuracy. This advantage become more obvious as the dimension of the optimization problem increases.

Performance comparison between IPRO and other algorithms
To verify its excellence, our proposed IPRO algorithm, was compared with four state-of-theart algorithms on the CEC2013 test suite, namely, MSMPSO [50], MSCA [49], ADN-RSN-PSO [48], and IATTP [52]. To ensure fairness of comparison, the population size was set to N = 100, the problem dimension was set to D = 30, and the maximum number of evaluations was set to MaxFes = 10000 × D = 300000. The values of the other parameters are presented in Table 6. Table 7 presents the results of 30 independent experiments conducted for each algorithm on the 30-dimensional CEC2013 test suites. To further investigate the improvement gap between IPRO and each state-of-the-art algorithm, these algorithms were subjected to a Wilcoxon rank sum test with a significance level of 0.05, shown in Table 8. The number of functions on which each algorithm significantly outperformed IPRO, on which the IPRO has no significant differences from each algorithm, and on which the PRO significantly outperforms the IPRO, was counted. To a better understanding of the overall performance of these algorithms on scalable test functions, Table 9 shows the Friedman test results for the data presented in Table 7. The algorithm with lower values is given a higher ranking. Further details on Friedman test can be found in [34]. Table 7 shows that for the 30-dimensional optimization problems, MSCA does not obtain the global optimal value of any function, MSMPSO obtains the global optimal value on F3 and F9, AND-RSN-PSO obtains the global optimal value on F3 and F11, IATTP obtains the global optimal value on 7 functions (including. F3, F7, F9, F11, F12, F13, and F20), and our proposed IPRO obtains the global optimal value on 9 functions (including F1, F2, F3, F5, F7, F9, F11, F12, F13, and F20). In addition, the number of best results obtained by MSMPSO, MSCA, AND-RSN-PSO, IATTP, and IPRO were 4, 0, 6, 11, and 18, respectively. Meanwhile, Table 8 shows that compared with MSMPSO, IPRO demonstrates a similar performance on 5 functions (F3, F8, F9, F11, and F16), a significantly inferior performance on F22 and F26, and a significantly better performance on 21 functions. IPRO significantly outperformed MSCA on all 28 functions, but compared with AND-RSN-PSO, IPRO demonstrated a significantly worse performance on 4 functions (including. F17, F22, F23, and F27), a similar performance on 2 functions (including F3 and F11), and a significantly better performance on 22 functions. Compared with IATTP, IPRO demonstrated a significantly worse performance on 3 functions (including F4, F15, and F26), a similar performance on 12 functions, and a significantly better performance on 13 functions. Table 9 shows that among the above five algorithms, MSCA demonstrates the poorest performance, AND-RSN-PSO and MSMPAO are slightly better Table 6. Initial parameters setting of each algorithm. than MSCA, IATTP is better than the three aforementioned algorithms, and our proposed IPRO demonstrates the best overall performance. To compare the convergence speed of these algorithms more intuitively, Figs 1-28 illustrates the results of each algorithm running once randomly on each function. The horizontal and vertical coordinates of this figure represent the number of function evaluations and the logarithmic of the function value obtained by each algorithm in the corresponding function evaluation times, respectively. Figs 1-28 shows that, for the unimodal functions F1, F2, F3, and F5, the IPRO shows better convergence compared with the other algorithms. For F1, IPRO rapidly converges to the global optimum, whereas the other algorithms fall into the local optimum. For F3, only PRO falls into the local optimum, whereas the other algorithms rapidly converge to the global optimum. Specifically, IPRO, IATTP, and MSMPSO rapidly converge to the global optimum at the initial stage. For F2, F4, and F5, all algorithms fall into the local optimum. For F4, our IPRO shows a better convergence compared with the other algorithms, yet slower than IATTP. Among 15 multimodal functions(including F6 to F20), our IPRO quickly obtains the global optimum of six functions (including F7, F9, F11, F12, F13, and F20) at the beginning. For functions F7, F9, F12, F13, and F20, our IPRO shows better convergence compared with the other algorithms. For F11, our IPRO shows slower convergence than MSCA, yet more quickly than the other algorithms. For F6, F10, F18, and F19, similar to the other algorithms, our IPRO falls into the local optimum, but shows a fastest convergence speed. For F8, our IPRO shows better converagence compared with PRO, MSMPSO, MSCA, and AND-RSN-PSO at the initial stage, whereas IPRO only shows a better convergence than PRO in the end. For F14, all algorithms fall into the local optimum in the early stage of convergence, including IPRO, PRO, MSMPSO, MSCA, IATTP, and AND-RSN-PSO, whereas only AND-RSN-PSO escapes the local optimum in the end. For F15, F16, and F17, our   IPRO shows a fastest convergence speed at the initial stage. As evolution goes on, for F15 and F16, each algorithm fall into the local optimum, and AND-RSN-PSO obtain a highest precision solutions. For F17, AND-RSN-PSO escapes the local optimum. For the composition functions (including F21, F22, F23, F24, F25, F26, F27, and F28), each algorithms shows a rapid convergence in the initial stage, but falls into the local optimum in the end. For F21, F24, and F28, IPRO shows a fastest convergence speed and the best quality solutions. For F23, F25, and F26, IPRO only shows a lower quality solution than one algorithm, i.e. AND-RSN-PSO, IATTP, and MSCA, respectively. For F22 and F27, IPRO shows worse convergence compared with MSCA and AND-RSN-PSO. In sum up, IPRO performs well in terms of convergence speed compared with the other four algorithms.

MSMPSO
In sum, compared with the other four algorithms, IPRO showed advantages in terms of convergence accuracy and convergence speed. In addition, our proposed IPRO achieved the global optimal of three out of five unimodal functions, and obtained the global optimal of six out of fifteen multimodal functions. Which indicates that, compared with the composition functions, our IPRO is very effective for the unimodal functions and multimodal functions.

Conclusions
This paper designed the IPRO algorithm to further improve the convergence speed and accuracy of the recently developed population-based algorithm PRO. IPRO differs from PRO in three ways. First, a different approach was used to divide the population into the poor and rich sub-population. At the early stage of convergence, those individuals with the better fitness values were included in the rich sub-population, whereas all the others were included in the poor sub-population. This process resulted in a rich sub-population was larger than the poor subpopulation. However, at the final stage of convergence, the poor sub-population was larger than the rich sub-population. Second, the individual updating mechanism of the rich was strengthened, by allowing each individual in the rich sub-population to learn from the poor and the best individuals, instead of form the best individual in the poor sub-population. This procedure increased the convergence speed of IPRO and minimized losses in swarm diversity. Third, the individual updating mechanism of the poor was strengthened based on Gauss mutation, crossover strategy, and new evolution strategy, which maintain the swarm diversity to some extent. The performance of the IPRO algorithm on 28 benchmark functions was verified, compared with that of four the-state-of-the-art meta-heuristic optimization algorithms using the CEC2013 test suite.
Given its employment of new search strategies, IPRO has a slightly higher time complexity than the original PRO algorithm. Therefore, the subsequent work will aim to reduce the time complexity and improve optimization efficiency of the IPRO. Future research on the proposed IPRO may explore its application in solving other real-word problems to further validate its flexibility in generating optimum solutions to a wide variety of optimization problems.